Computer-implemented systems, such as flight control computers (FCCs) or vehicle management system computers (VMSCs), often include a plurality of computers in communication with one another. For example, each computer of the plurality of computers communicates during sequential time periods referred to as frames. During each frame, the respective computers execute various computations and/or instructions, and communicate information associated with these computations and/or instructions over communication links referred to as cross-channel data links, to the other computers.
In some of these computer-implemented systems the frames of the computers are synchronized with one another, so that the computers are all available to share data for the same time periods. However, each computer of the plurality of computers generally powers on at a different time relative to the other computers of the plurality, and/or has a different clock drift relative to the other computers of the plurality (e.g., resulting in different frames having different durations at different times from computer to computer).
Traditionally, the computers are synchronized using hard-wired discrete conductors that are separate from the communication links. When the computers are periodically synchronizing using the discrete conductors, typically at the end of each frame, nominal useful computer processing is suspended. After power-up, it can take several frames to get all of the computers to generate the frames synchronously.